home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HPAVC
/
HPAVC CD-ROM.iso
/
PWAEMC13.ZIP
/
EMEC.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1995-02-27
|
9KB
|
594 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 3.O1 (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Boolean BOOLEAN002
Boolean BOOLEAN003
Boolean BOOLEAN004
String TSTRING001(9)
String TSTRING002(9)
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
String STRING012
String STRING013
String STRING014
String STRING015
String STRING016
String STRING017
String STRING018
String STRING019
String STRING020
String STRING021
Time TIME001
Time TIME002
Int TINT001(9)
Int INT002
Int INT003
Int INT004
Int INT005
Int INT006
Int INT007
Int INT008
Int INT011
Int INT013
Int INT014
Int INT015
Declare Procedure PROC001()
Declare Procedure PROC002()
Declare Procedure PROC003()
Declare Procedure PROC004()
Declare Procedure PROC005()
Declare Procedure PROC006()
Declare Procedure PROC007(Int INT016, Int INT017)
Declare Procedure PROC008(Int INT009, Int INT010)
Declare Procedure PROC009(Int INT012)
;------------------------------------------------------------------------------
PROC001()
PROC002()
PROC004()
End
;------------------------------------------------------------------------------
Procedure PROC003()
Int INT005
Print STRING003
For INT005 = 1 To 8
TINT001(INT005) = GetX()
Print TSTRING001(INT005) + Space(INT002)
Next
EndProc
;------------------------------------------------------------------------------
Procedure PROC004()
Int INT006
Int INT007
Int INT008
Boolean BOOLEAN003
Time TIME001
Time TIME002
INT007 = 1
INT006 = 1
If (INT003) Then
TIME001 = Time()
KbdChkOff
Endif
PROC003()
PROC007(INT006, INT007)
BOOLEAN003 = 0
:LABEL001
If (BOOLEAN003) Goto LABEL002
If (INT003) Then
TIME002 = Time()
If (TIME002 - TIME001 > 60 * INT003) Then
Newline
DispText 55, 32768 + 2048 + 256 + 128
Bye
Endif
Endif
Delay INT004
INT008 = Asc(Inkey())
If ((((((INT008 == 82) || (INT008 == 68)) || (INT008 == 54)) || (INT008 == 56)) || (INT008 == 32)) || (INT008 == 62)) Then
INT007 = INT006
Inc INT006
If (INT006 > 8) INT006 = 1
PROC007(INT006, INT007)
ElseIf ((((((INT008 == 76) || (INT008 == 85)) || (INT008 == 52)) || (INT008 == 50)) || (INT008 == 9)) || (INT008 == 60)) Then
INT007 = INT006
Dec INT006
If (INT006 < 1) INT006 = 8
PROC007(INT006, INT007)
Else
Select Case (INT008)
Case 115, 83
INT007 = INT006
INT006 = 1
PROC007(INT006, INT007)
If (BOOLEAN001) BOOLEAN003 = 1
Case 97, 65
INT007 = INT006
INT006 = 2
PROC007(INT006, INT007)
If (BOOLEAN001) BOOLEAN003 = 1
Case 99, 67
INT007 = INT006
INT006 = 3
PROC007(INT006, INT007)
If (BOOLEAN001) BOOLEAN003 = 1
Case 113, 81
INT007 = INT006
INT006 = 4
PROC007(INT006, INT007)
If (BOOLEAN001) BOOLEAN003 = 1
Case 100, 68
INT007 = INT006
INT006 = 5
PROC007(INT006, INT007)
If (BOOLEAN001) BOOLEAN003 = 1
Case 108, 76
INT007 = INT006
INT006 = 6
PROC007(INT006, INT007)
If (BOOLEAN001) BOOLEAN003 = 1
Case 117, 85
INT007 = INT006
INT006 = 7
PROC007(INT006, INT007)
If (BOOLEAN001) BOOLEAN003 = 1
Case 13
BOOLEAN003 = 1
Case 63
PROC005()
PROC003()
PROC007(INT006, INT007)
Case 33
PROC006()
PROC003()
PROC007(INT006, INT007)
Case 0
INT007 = INT006
INT006 = 8
PROC007(INT006, INT007)
If (BOOLEAN001) BOOLEAN003 = 1
Endif
End Select
Goto LABEL001
:LABEL002
PROC008(INT006, INT008)
EndProc
;------------------------------------------------------------------------------
Procedure PROC006()
String STRING019
STRING019 = "@X0FEnhanced Message Edit Commands v1.3 by Drew [PWA]@X07"
Print Chr(13)
ClrEol
Print Chr(13)
Print Space((79 - Len(StripAtx(STRING019))) / 2) + STRING019
Delay 35
Print Chr(13)
ClrEol
Print Chr(13)
EndProc
;------------------------------------------------------------------------------
Procedure PROC008(Int INT009, Int INT010)
Int INT011
Print Chr(13)
ClrEol
INT011 = 3
Select Case (INT009)
Case 0
Print STRING004
KbdStuff Chr(13)
Case 1
Print STRING004
Print STRING006
KbdStuff "S"
Case 2
Print STRING004
Print STRING007
KbdStuff "A"
Case 3
GetUser
Print STRING004
Print STRING008
If (U_FSE == 1) Then
KbdStuff "F"
Else
KbdStuff "C"
Endif
Case 4
Print STRING004
Print STRING009
KbdStuff "Q"
Case 5
Print STRING004
Print STRING010
KbdStuff "D"
Case 6
Print STRING004
Print STRING012
KbdStuff "L"
Case 7
Print STRING004
Print STRING013
KbdStuff "U"
Case 8
PROC009(INT010)
INT011 = 0
End Select
Delay INT011
If (BOOLEAN002) Newline
EndProc
;------------------------------------------------------------------------------
Procedure PROC009(Int INT012)
String STRING020
String STRING021
Boolean BOOLEAN004
Int INT013
Int INT014
Int INT015
Print STRING005
INT014 = GetX() - 1
If (InStr(Mask_AlNum() + Mask_Ascii(), Chr(INT012)) && (INT012 <> 13)) Then
Print Chr(INT012)
STRING020 = Chr(INT012)
INT013 = 1
Else
STRING020 = ""
INT013 = 0
Endif
BOOLEAN004 = 0
:LABEL003
If (BOOLEAN004) Goto LABEL004
STRING021 = Inkey()
Select Case (Asc(STRING021))
Case 13
If (STRING020 == "") Then
STRING020 = " "
Endif
BOOLEAN004 = 1
Case 27, 21
Print Chr(13)
Forward INT014
ClrEol
Print Chr(13)
Forward INT014
INT013 = 0
STRING020 = ""
Case 8
If (INT013 > 0) Then
Print STRING021 + " " + STRING021
Dec INT013
STRING020 = Left(STRING020, Len(STRING020) - 1)
Endif
Case InStr(Mask_AlNum(), Upper(STRING021))
Case 79 - Len(StripAtx(STRING005))
Print STRING021
Inc INT013
STRING020 = STRING020 + STRING021
End Select
Goto LABEL003
:LABEL004
INT015 = 3
STRING020 = Upper(STRING020)
Select Case (STRING020)
Case "H"
Print Chr(8)
Print STRING014
StartDisp 2
DispFile HelpPath() + "HLPE", 1 + 4 + 2
KbdStuff Chr(13)
Delay 3
End
Case "I"
Print Chr(8)
Print STRING015
Case "SA"
Print Chr(8) + Chr(8)
Print STRING016
Case "SC"
Print Chr(8) + Chr(8)
Print STRING017
Case "SN"
Print Chr(8) + Chr(8)
Print STRING018
Case "S"
Print Chr(8)
Print STRING006
Case "A"
Print Chr(8)
Print STRING007
Case "E"
Print Chr(8)
Print STRING011
Case "F"
Print Chr(8)
Print STRING008
Case "C"
Print Chr(8)
Print STRING008
Case "Q"
Print Chr(8)
Print STRING009
Case "D"
Print Chr(8)
Print STRING010
Case "L"
Print Chr(8)
Print STRING012
Case "U"
Print Chr(8)
Print STRING013
End Select
Delay INT015
KbdStuff STRING020
EndProc
;------------------------------------------------------------------------------
Procedure PROC005()
If (Exist(PPEPath() + "EMEC.HLP")) Then
DispFile PPEPath() + "EMEC.HLP", 0
Endif
EndProc
;------------------------------------------------------------------------------
Procedure PROC002()
If (Exist(PPEPath() + "EMEC.PCB")) Then
DispFile PPEPath() + "EMEC.PCB", 0
Endif
EndProc
;------------------------------------------------------------------------------
Procedure PROC007(Int INT016, Int INT017)
Print Chr(13)
Forward TINT001(INT017) - 1
Print TSTRING001(INT017)
Print Chr(13)
Forward TINT001(INT016) - 1
Print TSTRING002(INT016)
EndProc
;------------------------------------------------------------------------------
Procedure PROC001()
String STRING022
String STRING023
String STRING024
Int INT018
STRING022 = PPEPath() + "EMEC.CFG"
STRING023 = PPEPath() + "LB.CFG"
STRING024 = PPEPath() + "STRINGS.CFG"
If (Exist(STRING023)) Then
INT002 = S2I(ReadLine(STRING023, 1), 10)
For INT018 = 1 To 8
TSTRING001(INT018) = ReadLine(STRING023, 1 + INT018 * 2 - 1)
TSTRING002(INT018) = ReadLine(STRING023, 1 + INT018 * 2)
Next
Else
INT002 = 0
TSTRING001(1) = "@X08 Save @X07"
TSTRING002(1) = "@X4F SAVE @X07"
TSTRING001(2) = "@X08 Abort @X07"
TSTRING002(2) = "@X4F ABORT @X07"
TSTRING001(3) = "@X08 Cont @X07"
TSTRING002(3) = "@X4F CONT @X07"
TSTRING001(4) = "@X08 Quote @X07"
TSTRING002(4) = "@X4F QUOTE @X07"
TSTRING001(5) = "@X08 Delete @X07"
TSTRING002(5) = "@X4F DELETE @X07"
TSTRING001(6) = "@X08 List @X07"
TSTRING002(6) = "@X4F LIST @X07"
TSTRING001(7) = "@X08 Upload @X07"
TSTRING002(7) = "@X4F UPLOAD @X07"
TSTRING001(8) = "@X08 *Other @X07"
TSTRING002(8) = "@X4F *OTHER @X07"
Endif
If (Exist(STRING022)) Then
If (Lower(ReadLine(STRING022, 1)) == "yes") Then
BOOLEAN001 = 1
Else
BOOLEAN001 = 0
Endif
If (Lower(ReadLine(STRING022, 2)) == "yes") Then
BOOLEAN002 = 1
Else
BOOLEAN002 = 0
Endif
INT004 = S2I(ReadLine(STRING022, 3), 10)
Else
BOOLEAN001 = 1
BOOLEAN002 = 1
INT004 = 1
Endif
If (Exist(STRING024)) Then
STRING003 = ReadLine(STRING024, 1)
STRING004 = ReadLine(STRING024, 2)
STRING005 = ReadLine(STRING024, 3)
STRING006 = ReadLine(STRING024, 4)
STRING007 = ReadLine(STRING024, 5)
STRING008 = ReadLine(STRING024, 6)
STRING009 = ReadLine(STRING024, 7)
STRING010 = ReadLine(STRING024, 8)
STRING012 = ReadLine(STRING024, 9)
STRING013 = ReadLine(STRING024, 10)
STRING014 = ReadLine(STRING024, 11)
STRING015 = ReadLine(STRING024, 12)
STRING016 = ReadLine(STRING024, 13)
STRING017 = ReadLine(STRING024, 14)
STRING018 = ReadLine(STRING024, 15)
STRING011 = ReadLine(STRING024, 16)
Else
STRING003 = "@X0FMsg Commands [?=help] @X07"
STRING004 = "@X0FExecuting Msg Cmd: @X07"
STRING005 = "@X0FOther Msg Cmd: @X07"
STRING006 = "@X04Save current message@X07"
STRING007 = "@X04Abort message entry@X07"
STRING008 = "@X04Continue message entry@X07"
STRING009 = "@X04Quote lines@X07"
STRING010 = "@X04Delete lines@X07"
STRING012 = "@X04List message@X07"
STRING013 = "@X04Upload into editor@X07"
STRING014 = "@X04Help! I'm a bozo!!@X07"
STRING015 = "@X04Insert a line@X07"
STRING016 = "@X04Save & attach file@X07"
STRING017 = "@X04Carbon copy message@X07"
STRING018 = "@X04Save & goto next msg@X07"
STRING011 = "@X04Edit a line@X07"
Endif
INT003 = ReadLine(PCBDat(), 89)
EndProc
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 2 End
; 4 ClrEol
; 107 Goto
; 122 Let
; 61 Print
; 70 If
; 3 DispFile
; 1 StartDisp
; 1 GetUser
; 5 Delay
; 2 Inc
; 2 Dec
; 2 Newline
; 1 DispText
; 11 KbdStuff
; 1 Bye
; 1 KbdChkOff
; 4 Forward
; 9 EndProc
;
;
; ■ Functions used :
;
; 3 *
; 1 /
; 27 +
; 8 -
; 60 ==
; 1 <>
; 4 <
; 2 <=
; 4 >
; 4 >=
; 59 !
; 5 &&
; 21 ||
; 3 Len(
; 2 Lower()
; 2 Upper()
; 1 Left()
; 2 Space()
; 31 Chr()
; 5 Asc()
; 3 InStr()
; 2 Time()
; 2 StripAtx()
; 2 Inkey()
; 2 Mask_AlNum()
; 2 Mask_Ascii()
; 1 PCBDat()
; 7 PPEPath()
; 23 ReadLine()
; 5 Exist()
; 2 S2I()
; 2 GetX()
; 1 HelpPath()
;
;------------------------------------------------------------------------------
;
; Analysis flags : d
;
; d - Access PCBOARD.DAT ■ 2
; Program gets the full pathname to PCBOARD.DAT, this may be usefull
; for many PPE so they can find various informations on the system
; (system paths, max number of lines in messages, ...) but it may also
; be a way to gather vital informations.
; ■ Search for : PCBDAT()
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 2 For/Next
; 0 While/EndWhile
; 16 If/Then or If/Then/Else
; 4 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------